﻿/************************************************************************

  Extended Silverlight Toolkit – SAMPLE CODE

  Copyright (C) 2010-2012 Xceed Software Inc.

  This program is provided to you under the terms of the Microsoft Public
  License (Ms-PL) as published at http://extendedsilverlight.codeplex.com/license

  Please purchase a commercial version of this toolkit if you are using
  it in a commercial product. The commercial versions support the project,
  and also include more features for each control, priority support,
  source code, updates, removed watermark, and a proprietary license.

  Visit http://xceed.com and follow @datagrid on Twitter.

  **********************************************************************/

using System;
using System.Windows.Data;
using System.Windows.Media;
using Xceed.Silverlight.Samples.SampleData;

namespace Xceed.Utils.Silverlight.ListBox.Samples
{
  public class BoxArtImageSourceConverter : IValueConverter
  {
    #region IValueConverter Members

    public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
    {
      // Return the "NoBoxArt" image when no uri is returned for a Title
      if( string.IsNullOrWhiteSpace( value as string ) )
        return this.NoBoxArtImageSource;

      return value;
    }

    public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
    {
      return value;
    }

    #endregion

    // Cache the NoBoxArtImageSource in the converter for performance reasons
    private ImageSource NoBoxArtImageSource
    {
      get
      {
        if( m_noBoxArtImageSource == null )
          m_noBoxArtImageSource = ImagesProvider.Instance.GetImageSourceFromResourceName( "NoBoxArt_Blue.png" );

        return m_noBoxArtImageSource;
      }
    }

    private ImageSource m_noBoxArtImageSource;
  }
}
